package com.game.system.domain.game;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.game.common.annotation.Excel;
import com.game.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;


/**
 * 游戏对象 game
 *
 * @author Mr.Liu
 * @date 2025-03-18
 */
@Getter
@Setter
@TableName(resultMap = "com.game.system.mapper.GameMapper.GameResult")
public class Game extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 游戏id
     */

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 游戏模板id
     */
    @Excel(name = "游戏模板id")
    private Long gameTemplateId;

    /**
     * 游戏名称
     */
    @Excel(name = "游戏名称")
    private String gameName;

    /**
     * 状态（0正常、1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常、1停用")
    private String status;

    /**
     * 游戏图标
     */
    @Excel(name = "游戏图标")
    private String icon;

    /**
     * 删除标记（0存在、2删除）
     */
    private String delFlag;

    /**
     * 游戏模板
     */
    private GameTemplate gameTemplate;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("gameTemplateId", getGameTemplateId())
                .append("gameName", getGameName())
                .append("status", getStatus())
                .append("icon", getIcon())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
